<?php

class LoginController {

    function __construct() {
        
    }

    /**
     * Function saveCSV
     */
    public static function getPage() {

        return isset($_GET['page']) ? $_GET['page'] : -1;
    }

    public static function getResultLostPassword() {

        $result = null;
        if (isset($_POST['loginOrEmail']) && $_POST['loginOrEmail'] != null && $_POST['userEmail'] && $_POST['userEmail'] != null) {
            $result = "Login ou mot de passe inconnu.";
            $loginOrEmail = $_POST['loginOrEmail'];
            $userEmail = $_POST['userEmail'];

            $member = Member::getMemberByLoginOrEmail($loginOrEmail);

            if ($member != null) {
                $admins = Member::getAdminsOfMember($member);
                if (LoginController::sendMailForLostPassword($admins, $userEmail, $loginOrEmail))
                    $result = "Demande envoy&eacute;e.";
                else
                    $result = "Probl&egrave;me avec l'envoie du mail.";

                /* $newPassword = Member::generatePassword();
                  if(LoginController::sendPasswordTo($newPassword, $member)){
                  $member->updatePassword(md5($newPassword));
                  $result = "Votre nouveau mot de passe est envoy&eacute;.";
                  }
                  else $result = "Probl&egrave;me avec l'envoie du mail."; */
            }
        }
        return $result;
    }

    private static function sendMailForLostPassword($admins, $userMail, $login) {
        $mail = "";
        foreach ($admins as $admin) {
            $mail .= $admin->getEmail() . ', ';
        }
        $mail = substr($mail, 0, strlen($mail) - 1);

        $passage_ligne = (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) ? "\r\n" : "\n";
        $sujet = 'WSK - PORTAL :: Oublie de mot de passe';

        $message_txt = "Bonjour,
		
        L'utilisateur : $userMail a oublié le mot de passe du login $login.
        Merci de lui envoyer un mail avec le mot de passe.
		
        Cordialement,
		
        WSK - PORTAL";

        //=====Création de la boundary
        $boundary = "-----=" . md5(rand());

        //=====Création du header de l'e-mail.
        $settings = Settings::getInstance($_SERVER["DOCUMENT_ROOT"]."/WSK_PORTAL/config/config.ini"); 
        $mailFrom = $settings->mail_from;
        $header = "From: \"WSK - PORTAL\"<$mailFrom>" . $passage_ligne;
        $header .= "Cc: <" . $userMail . ">" . $passage_ligne;
        $header .= "Reply-to: \"WSK - PORTAL\" <wsk-portal@mail.fr>" . $passage_ligne;
        $header .= "MIME-Version: 1.0" . $passage_ligne;
        $header .= "Content-Type: multipart/alternative;" . $passage_ligne . " boundary=\"$boundary\"" . $passage_ligne;
        //==========
        //=====Création du message.
        $message = $passage_ligne . "--" . $boundary . $passage_ligne;
        //=====Ajout du message au format texte.
        $message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"" . $passage_ligne;
        $message.= "Content-Transfer-Encoding: 8bit" . $passage_ligne;
        $message.= $passage_ligne . $message_txt . $passage_ligne;
        //==========

        $message.= $passage_ligne . "--" . $boundary . "--" . $passage_ligne;
        $message.= $passage_ligne . "--" . $boundary . "--" . $passage_ligne;
        Log::createLog($message);
        return mail($mail, $sujet, $message, $header);
    }

    private static function sendPasswordTo($newPassword, $member) {

        $mail = $member->getEmail();
        $passage_ligne = (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) ? "\r\n" : "\n";
        $sujet = 'WSK - PORTAL :: Nouveau mot de passe';

        $message_txt = 'Bonjour ' . $member->getLogin() . '
		
		Votre nouveau mot de passe est : ' . $newPassword . '.
		
		Cordialement,
		
		WSK - PORTAL';

        //=====Création de la boundary
        $boundary = "-----=" . md5(rand());

        //=====Création du header de l'e-mail.
        $header = "From: \"WSK - PORTAL\"<wsk-portal@mail.fr>" . $passage_ligne;
        $header.= "Reply-to: \"WSK - PORTAL\" <wsk-portal@mail.fr>" . $passage_ligne;
        $header.= "MIME-Version: 1.0" . $passage_ligne;
        $header.= "Content-Type: multipart/alternative;" . $passage_ligne . " boundary=\"$boundary\"" . $passage_ligne;
        //==========
        //=====Création du message.
        $message = $passage_ligne . "--" . $boundary . $passage_ligne;
        //=====Ajout du message au format texte.
        $message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"" . $passage_ligne;
        $message.= "Content-Transfer-Encoding: 8bit" . $passage_ligne;
        $message.= $passage_ligne . $message_txt . $passage_ligne;
        //==========

        $message.= $passage_ligne . "--" . $boundary . "--" . $passage_ligne;
        $message.= $passage_ligne . "--" . $boundary . "--" . $passage_ligne;

        return mail($mail, $sujet, $message, $header);
    }

}

?>
